package com.agile.leetcode.bitcanculate;

import java.util.BitSet;

/**
 * 4.count:
 * s.count() 返回二进制串中有多少个1；
 *
 * 5.any/none
 * 若s所有位都为0，则s.any()返回false，s.none()返回true；
 * 若s至少有一位为1，则s.any()返回true，s.none()返回false；
 *
 * 6.set/rest/flip
 * s.set()把s所有位变为1；
 * s.set(k,v)把s的第k位改为v,即s[k]=v；
 * s.reset()把s的所有位变为0.
 * s.reset(k)把s的第k位改为0,即s[k]=0；
 * s.flip()把s所有位取反.即s=~s；
 * s.flip(k)把s的第k位取反，即s[k]^=1；
 * @Author:ChenZhangKun
 * @Date: 2022/9/16 17:22
 */
public class BitSetDemo {
    public static void main(String[] args) {
        BitSet bits = new BitSet();
        // 上面的代码的含义是，第[0,2)位会被设置成1，也就是说这个类会自动地生成一个long型的数(words[0] = 3），这个数换成二进制的形式是 1 1
        bits.set(0,2,true);
        System.out.println(bits.get(1));
    }
}
